#pragma once
#include "Utility.h"

class Mesh 
{
	char name[20];

	std::vector<glm::vec3> vertex;
	std::vector<glm::vec3> normal;
	std::vector<glm::vec2> map;

	    

	GLuint id_texture;
	glm::mat4x4 matrix;

public:
	Mesh() {};
	int getNumberVertices() { return this->vertex.size(); }
	void addVertex(glm::vec3 vertex) { this->vertex.push_back(vertex); }
	void addNormal(glm::vec3 normal) { this->normal.push_back(normal); }
	void addMap(glm::vec2 map) { this->map.push_back(map); }

	std::vector<glm::vec3> getVertex() { return this->vertex; }
	std::vector<glm::vec3> getNormal() { return this->normal; }
	std::vector<glm::vec2> getMap() { return this->map; }
	
	std::vector<unsigned int> getVertexIndices() { return this->vertexIndices; }

	std::vector<unsigned int> vertexIndices, uvIndices, normalIndices;
    
};